<!DOCTYPE html>
<html class="reftest-wait">
  <head>
    <style>
      input ~ label {color: red}
      input:not(:default):not(:checked):not([checked]) ~ label {color:red}
      input[checked]:checked:default ~ input:not(:checked):not([checked]):not(:default) + label {color: green}
      input:checked:default + label {color: green}
    </style>
  </head>
  <body>
    <form>
      <input type="checkbox" name="group1" id="one" value="1"/>
      <label for="one">Should be no red</label><br>
      <input type="checkbox" name="group1" id="two" value="2"/>
      <label for="two">Should be no red</label><br>
      <input type="checkbox" name="group1" id="three" value="3"/>
      <label for="three">Should be no red</label>
    </form>
<script>
function doTest() {
  document.getElementById("two").setAttribute("checked", "true");
  document.getElementById("one").setAttribute("checked", "checked");
  document.getElementById("two").removeAttribute("checked");
  setTimeout(function () { document.documentElement.removeAttribute("class"); }, 0);
}
window.addEventListener("MozReftestInvalidate", doTest);
</script>
  </body>
</html>
